package com.han.client;


import com.han.util.CGUtil;
import com.han.util.Generator;
import com.han.util.PropLoader;

import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * 主入口类 用法：java GenTool <propfilename> 数据库配置在common.properties。
 * 这个文件名是配置在plan文件夹里。
 *
 * @author Administrator
 */
public class GenTool {

    public static void main(String[] args) {
        Long startTime = System.currentTimeMillis();
        CGUtil.infoLog("=========================================");
        CGUtil.infoLog("============ GenUI配套生成器 加紧工作中  =======");
        CGUtil.infoLog("=========================================");
        // 检查参数
//		if (args.length < 1) {
//			CGUtil.errorLog("Usage: GenTool <propfilename>");
//			CGUtil.errorLog("the propfilename is placed in the 'plan' folder of the 'resource' folder");
//			System.exit(-1);
//			return;
//		}
        // 加载通用配置文件
        try {
            PropLoader.load();
        } catch (FileNotFoundException e1) {
            CGUtil.errorLog("配置文件common.properties 没有找到");
            System.exit(-1);
            return;
        } catch (IOException e2) {
            CGUtil.errorLog("加载配置文件common.properties 出错");
            System.exit(-1);
            return;
        }

        // 加载生成计划配置文件
//		String planName = args[0];
//		try {
//			PropLoader.loadPlan(planName);;
//		} catch (FileNotFoundException e1) {
//			CGUtil.errorLog("生成计划配置文件 "+planName+".properties 没有找到");
//			System.exit(-1);
//			return;
//		} catch (IOException e2) {
//			CGUtil.errorLog("生成计划配置文件 "+planName+".properties 没有找到");
//			System.exit(-1);
//			return;
//		}

//		String errTbName = "";
        try {
            //先只生成一个。 多个的以后再优化
//			for (String tableName : args) {
//				errTbName = tableName;
            // 生成代码
            new Generator().generate();
//			}
        } catch (Exception e) {
//			CGUtil.errorLog("生成 " + planName + " 配置文件指定的相关文件出错，请删除相关文件重新生成");
            CGUtil.delFile();
            e.printStackTrace();
            System.exit(-1);
            return;
        }
        Long spendTime = System.currentTimeMillis() - startTime;
        CGUtil.infoLog("============ 生成成功,操作耗时" + spendTime + "毫秒  =======");

    }

}
